#ifndef REGISTRO_H_
#include "Registro.h"
#endif

#ifndef COMPUESTO_H_
#define COMPUESTO_H_

#include <list>
#include <vector>
#include <string>

using namespace std;

class Registro;

class Componente {
public:
	virtual int getTamanio() = 0;
	//virtual char getTipo();
	virtual int esBuscado(list<string>) = 0;
private:

};

//Clase que permite crear objetos que se componen por otros.
class Compuesto {
public:
	Compuesto();
	void addComponente(Registro c);
	int getCantidadComponentes()const;
	void borrarComponente(int posicion);
	Registro getComponente(int posicion)const;
	int buscarComponente(list<string> claves);
	int getEspacioOcupado();

protected:
	int cantidadDeComponentes;
	vector<Registro> elementos;
};


#endif /*COMPUESTO_H_*/
